package com.ruoyi.whole.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.utils.vo.PoCommon;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;
import java.util.List;

/**
 * 实销上报对象 dms_sale_report
 * 
 * @author liuchuanfa
 * @date 2024-03-10
 */
public class DmsSaleReport extends PoCommon
{
    private static final long serialVersionUID = 1L;

    /** 车辆vin */
    @Excel(name = "车辆vin")
    private String vehicleVin;

    /** 零售单号 */
    @Excel(name = "零售单号")
    private String retailOrderNo;

    /** 经销商id */
    @Excel(name = "经销商id")
    private Long dealerId;

    /** 经销商名称 */
    @Excel(name = "经销商名称")
    private String dealerName;

    /** 客户类型(0公司 1个人) */
    @Excel(name = "客户类型",readConverterExp = "0=公司,1=个人")
    private Integer customerType;

    /** PDI 日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "PDI 日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date pdiDate;

    /** 销售日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "销售日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date saleDate;

    /** 实销上报日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "实销上报日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date reportDate;

    /** 实销上报人id */
    @Excel(name = "实销上报人id")
    private Long reportPersonId;

    /** 实销上报人姓名 */
    @Excel(name = "实销上报人姓名")
    private String reportPersonName;

    /** 实销上报客户信息信息 */
    private List<DmsSaleReportCustomerInfo> dmsSaleReportCustomerInfoList;


    public void setVehicleVin(String vehicleVin)
    {
        this.vehicleVin = vehicleVin;
    }

    public String getVehicleVin() 
    {
        return vehicleVin;
    }
    public void setRetailOrderNo(String retailOrderNo) 
    {
        this.retailOrderNo = retailOrderNo;
    }

    public String getRetailOrderNo() 
    {
        return retailOrderNo;
    }
    public void setDealerId(Long dealerId) 
    {
        this.dealerId = dealerId;
    }

    public Long getDealerId() 
    {
        return dealerId;
    }
    public void setDealerName(String dealerName) 
    {
        this.dealerName = dealerName;
    }

    public String getDealerName() 
    {
        return dealerName;
    }
    public void setCustomerType(Integer customerType) 
    {
        this.customerType = customerType;
    }

    public Integer getCustomerType() 
    {
        return customerType;
    }
    public void setPdiDate(Date pdiDate) 
    {
        this.pdiDate = pdiDate;
    }

    public Date getPdiDate() 
    {
        return pdiDate;
    }
    public void setSaleDate(Date saleDate) 
    {
        this.saleDate = saleDate;
    }

    public Date getSaleDate() 
    {
        return saleDate;
    }
    public void setReportDate(Date reportDate) 
    {
        this.reportDate = reportDate;
    }

    public Date getReportDate() 
    {
        return reportDate;
    }
    public void setReportPersonId(Long reportPersonId)
    {
        this.reportPersonId = reportPersonId;
    }

    public Long getReportPersonId()
    {
        return reportPersonId;
    }
    public void setReportPersonName(String reportPersonName) 
    {
        this.reportPersonName = reportPersonName;
    }

    public String getReportPersonName() 
    {
        return reportPersonName;
    }

    public List<DmsSaleReportCustomerInfo> getDmsSaleReportCustomerInfoList()
    {
        return dmsSaleReportCustomerInfoList;
    }

    public void setDmsSaleReportCustomerInfoList(List<DmsSaleReportCustomerInfo> dmsSaleReportCustomerInfoList)
    {
        this.dmsSaleReportCustomerInfoList = dmsSaleReportCustomerInfoList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("vehicleVin", getVehicleVin())
            .append("retailOrderNo", getRetailOrderNo())
            .append("dealerId", getDealerId())
            .append("dealerName", getDealerName())
            .append("customerType", getCustomerType())
            .append("pdiDate", getPdiDate())
            .append("saleDate", getSaleDate())
            .append("reportDate", getReportDate())
            .append("reportPersonId", getReportPersonId())
            .append("reportPersonName", getReportPersonName())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("createBy", getCreateBy())
            .append("updateBy", getUpdateBy())
            .append("createUserName", getCreateUserName())
            .append("updateUserName", getUpdateUserName())
            .append("version", getVersion())
            .append("deleteFlag", getDeleteFlag())
            .append("dmsSaleReportCustomerInfoList", getDmsSaleReportCustomerInfoList())
            .toString();
    }
}
